import App from './App'

import '@/utils/utils.js'
// 导入 Pinia
import { createPinia } from 'pinia'
// Pinia 持久化插件
// import piniaPluginPersistedstate from 'pinia-plugin-persistedstate'
// 进阶用法
import { createPersistedState } from 'pinia-plugin-persistedstate'

// #ifndef VUE3
import Vue from 'vue'
import './uni.promisify.adaptor'
Vue.config.productionTip = false
App.mpType = 'app'
const app = new Vue({
  ...App,
})
app.$mount()
// #endif

// #ifdef VUE3
import { createSSRApp } from 'vue'
export function createApp() {
  const app = createSSRApp(App)

  // 创建 Pinia 实例
  const pinia = createPinia()
  // 应用 Pinia 插件
  // pinia.use(piniaPluginPersistedstate)
  // 进阶语法
  pinia.use(
    createPersistedState({
      // 用来定义本地存储
      storage: {
        // 用来获取本地存储
        getItem(key) {
          // 使用uni-app的API
          return uni.getStorageSync(key)
        },
        // 用来存本地存储
        setItem(key, value) {
          // 使用uni-app的API
          uni.setStorageSync(key, value)
        },
      },
    })
  )

  // 安装pinia
  app.use(pinia)
  return {
    app,
  }
}
// #endif
